package co.edu.udea.iw.service.impl;

import java.util.List;

import co.edu.udea.iw.dao.DispositivoDAO;
import co.edu.udea.iw.dto.Dispositivo;
import co.edu.udea.iw.exception.IWDaoException;
import co.edu.udea.iw.exception.IWServiceException;
import co.edu.udea.iw.service.DispositivoService;

/**
 * Clase que implementa (sobrescribe) los metodos del DispositivoService
 * 
 * @author Santiago Ruiz
 * @author Bladimir Velez
 *
 */
public class DispositivoServiceImpl implements DispositivoService {

	private DispositivoDAO dispositivoDAO;

	/**
	 * @return the dispositivoDAO
	 */
	public DispositivoDAO getDispositivoDAO() {
		return dispositivoDAO;
	}

	/**
	 * @param dispositivoDAO
	 *            the dispositivoDAO to set
	 */
	public void setDispositivoDAO(DispositivoDAO dispositivoDAO) {
		this.dispositivoDAO = dispositivoDAO;
	}

	@Override
	public Dispositivo consultarDispositivo(Integer idDispositivo)
			throws IWServiceException, IWDaoException {
		Dispositivo dispositivo = null;
		dispositivo = getDispositivoDAO().obtenerDispositivo(idDispositivo);

		if (dispositivo == null)
			throw new IWServiceException(
					"No hay ningun dispositivo con el id : " + idDispositivo);
		return dispositivo;
	}

	@Override
	public List<Dispositivo> consultarDispositivos() throws IWServiceException,
			IWDaoException {
		List<Dispositivo> dispositivos = null;
		dispositivos = getDispositivoDAO().obtenerDispositivos();

		if (dispositivos == null)
			throw new IWServiceException("No hay dispositivos");
		return dispositivos;
	}

}
